package com.ruoyi.fjtseac.service;

import java.util.List;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.fjtseac.domain.dto.ApplicationFormDto;
import com.ruoyi.fjtseac.domain.po.ApplicationForm;

/**
 * 志愿者申请Service接口
 * 
 * @author ruoyi
 * @date 2022-07-16
 */
public interface ApplicationFormService
{
    /**
     * 查询志愿者申请
     * 
     * @param id 志愿者申请主键
     * @return 志愿者申请
     */
    ApplicationForm selectApplicationFormById(Long id);

    /**
     * 查询志愿者申请列表
     * 
     * @param applicationFormDto 志愿者申请
     * @return 志愿者申请集合
     */
    List<ApplicationForm> selectApplicationFormList(ApplicationFormDto applicationFormDto);

    /**
     * 新增志愿者申请
     * 
     * @param applicationFormDto 志愿者申请
     * @return 结果
     */
    AjaxResult insertApplicationForm(ApplicationFormDto applicationFormDto);

    /**
     * 修改志愿者申请
     * 
     * @param applicationFormDto 志愿者申请
     * @return 结果
     */
    int updateApplicationForm(ApplicationFormDto applicationFormDto);

    /**
     * 批量删除志愿者申请
     * 
     * @param ids 需要删除的志愿者申请主键集合
     * @return 结果
     */
    int deleteApplicationFormByIds(Long[] ids);

    /**
     * 删除志愿者申请信息
     * 
     * @param id 志愿者申请主键
     * @return 结果
     */
    int deleteApplicationFormById(Long id);

    /**
     * 拒绝志愿者申请
     * @param applicationFormDto
     * @return
     */
    AjaxResult refuse(ApplicationFormDto applicationFormDto);

    /**
     * 根据手机号码返回拒绝理由信息
     * @param phone
     * @return
     */
     AjaxResult returnReason(String phone);

    /**
     * 根据openId获取个人志愿者申请信息
     * @return
     */
    AjaxResult selectOneByOpenId(String openId);


}
